package com.ptswitch.material.service;

import java.util.List;

import com.ptswitch.material.model.common.Uzer;
import com.ptswitch.material.model.contract.Contract;

public interface ContractService {
    public static final int Init_Items = 1 << 1;
    public static final int Init_Payments = 1 << 2;
    public static final int Init_Invoices = 1 << 3;
    public static final int Init_Uploads = 1 << 4;

    public Contract findById(String id, int init);

    public List<Contract> findAllByContractStatus(String status, long first, long size);

    public List<Contract> findByVisitor(Uzer visitor, long first, long size);

    public String emptyCode(String code);

    public void save(Contract contract);

    public Contract findById(String id);

    public void delete(Contract contract);

    public List<Contract> findAll(long first, long size);

    public long countAll();

    public List<Contract> findLike(String like, long first, long size);

    public long countLike(String like);

}
